/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlo;

import dao.DocumentoDao;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import modelo.Documento;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;
import util.Ficheiro;

/**
 *
 * @author bruno
 */
@ManagedBean
@SessionScoped
public class DocumentoControlo implements Serializable {

    /**
     * Creates a new instance of DocumentoControlo
     */
    private Documento documento;
    private UploadedFile ficheiro;

    public DocumentoControlo() {
        documento = new Documento();
    }

    public UploadedFile getFicheiro() {
        return ficheiro;
    }

    public void setFicheiro(UploadedFile ficheiro) {
        this.ficheiro = ficheiro;
    }

    public Documento getDocumento() {
        return documento;
    }

    public void setDocumento(Documento documento) {
        this.documento = documento;
    }

    public void gravarDocumento() {
        if (!documento.getCaminho().isEmpty()) {
            DocumentoDao dd = new DocumentoDao();
            dd.gravar(documento);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Documento Registado com Sucesso"));
        } else {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Erro ao processar o documento"));
        }
    }

    public void handlerAdvanced(FileUploadEvent event) {

        String caminho = "";
        ficheiro=event.getFile();
        try {
            caminho = Ficheiro.carregar(ficheiro, "docs", true);
            if (!caminho.isEmpty()) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Carregado com Sucesso"));
                documento.setCaminho(caminho);
            }
        } catch (NullPointerException ex) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Erro ao carregar o ficheiro"));
        }

    }
}
